home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
001
/
pibt40s5.arc
/
SCROLLOC.MOD
< prev
next >
Wrap
Text File
|
1986-12-26
|
3KB
|
44 lines
(*----------------------------------------------------------------------*)
(* Scroll_Lock_On --- Check if scroll lock key depressed *)
(*----------------------------------------------------------------------*)
FUNCTION Scroll_Lock_On : BOOLEAN;
(*----------------------------------------------------------------------*)
(* *)
(* Function: Scroll_Lock_On *)
(* *)
(* Purpose: Check if scroll lock key depressed *)
(* *)
(* Calling Sequence: *)
(* *)
(* Lock_On := Scroll_Lock_On : BOOLEAN; *)
(* *)
(* Lock_On --- TRUE if scroll lock turned on *)
(* *)
(*----------------------------------------------------------------------*)
BEGIN (* Scroll_Lock_On *)
INLINE(
$B4/$02 { MOV AH,2 ;Return keyboard flags function}
/$CD/$16 { INT $16 ;Call BIOS to get flags}
{;}
/$F6/$06/>DO_STATUS_TIME/$01{ TEST BYTE [<Do_Status_Time],1 ;See if we're doing status time}
/$74/$08 { JZ Scrolck1 ;No -- skip update}
{;}
/$50 { PUSH AX ;Save function result}
/$8D/$1E/>UPDATE_STATUS_LINE{ LEA BX,[>Update_Status_Line] ;Update status line time}
/$FF/$D3 { CALL BX}
/$58 { POP AX ;Get back function result}
{;}
/$B1/$04 {Scrolck1: MOV CL,4 ;Shift to bring scroll lock to last bit}
/$D2/$F8 { SAR AL,CL ;Move scroll lock flag to last bit}
/$25/$01/$00 { AND AX,1 ;Clear all other bits but last}
/$89/$EC { MOV SP,BP ;Restore registers}
/$5D { POP BP}
/$C2/$01/$00 { RET 1 ;Return to caller}
);
END (* Scroll_Lock_On *);